package comunicaciones

import java.util.Date
import cliente.empresa.Cliente


abstract class Llamada(){
    var numDest :Int
	var fechaDeRealizacion = new Date();
	val tipo: String
	
	def getFechaDeRealizacion() = this.fechaDeRealizacion;
	
	def precio(cliente :Cliente): Double;
	
	def duracion(): Int;
	
	def esLarga(): Boolean;
	
	def getLocalidadDestino() : String = throw new RuntimeException("Esta clase no comprende el mensaje")
	
	def precioParaSinPlan() :Double;
	
	def precioParaConPlanAmigos(numeros :List[Int]): Double;
	
	def precioParaConPlanCiudades(ciudad :String): Double;
	
	def precioParaHablateTodo():Double;
	
	def esDeFinDeSemana(): Boolean ={
	  var fecha = this.getFechaDeRealizacion().toString()
	  fecha.contains("Fri") || fecha.contains("Sat") || fecha.contains("Sun")
	}
	
	def getMes(): Int = this.getFechaDeRealizacion().getMonth()
	def getDia(): Int = this.getFechaDeRealizacion().getDate()
	
	
}